﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Company.BLL.SXXK.ThanhKhoan;
using Janus.Windows.GridEX;
using Company.BLL;
namespace Company.Interface.SXXK
{
    public partial class TheoDoiNPLTonForm : BaseForm
    {
        LanThanhLyCollection collection;
        public TheoDoiNPLTonForm()
        {
            InitializeComponent();
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            // Xây dựng điều kiện tìm kiếm.
            string where = "1 = 1";
            where += string.Format(" AND MaHaiQuan = '{0}'", donViHaiQuanControl1.Ma);

            if (txtSoTiepNhan.TextLength > 0)
            {
                where += " AND SoHoSo = " + txtSoTiepNhan.Value;
            }

            if (txtNamTiepNhan.TextLength > 0)
            {
                where += " AND NamThanhLy = " + txtNamTiepNhan.Value;
            }

            // Thực hiện tìm kiếm.            
            LanThanhLyBase ltl = new LanThanhLyBase();
            collection = ltl.SelectCollectionDynamic(where, "");
            dgList.DataSource = collection;
        }

        private void btnGetListFromHQ_Click(object sender, EventArgs e)
        {
            WSForm wsForm = new WSForm();
            wsForm.ShowDialog(this);
            if (!wsForm.IsReady) return;
            try
            {
                this.Cursor = Cursors.WaitCursor;                
                LanThanhLyBase.DongBoDuLieuHaiQuan(donViHaiQuanControl1.Ma, GlobalSettings.MA_DON_VI);
                this.Cursor = Cursors.Default;               
                this.ShowMessage("Cập nhật thành công", false);
                this.btnSearch_Click(null, null);
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
                this.ShowMessage("Có lỗi: " + ex.Message, false);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }

        private void cmMain_CommandClick(object sender, Janus.Windows.UI.CommandBars.CommandEventArgs e)
        {
            WSForm wsForm = new WSForm();
            wsForm.ShowDialog(this);
            if (!wsForm.IsReady) return;
            bool ok = true;
            int k = 0;
            try
            {
               GridEXSelectedItemCollection items = dgList.SelectedItems;
               foreach (GridEXSelectedItem i in items)
               {
                    this.Cursor = Cursors.WaitCursor;
                    if (i.RowType == RowType.Record)
                    {
                        LanThanhLyBase lanthanhly=(LanThanhLyBase)i.GetRow().DataRow;
                        try
                        {
                            k++;
                            LanThanhLyBase.DongBoDuLieuHaiQuan(donViHaiQuanControl1.Ma, GlobalSettings.MA_DON_VI, lanthanhly.LanThanhLy);
                        }
                        catch
                        {
                            this.Cursor = Cursors.Default;                            
                            ok = false;
                            string message = "";
                            if (k == items.Count)
                                message = "Lần thanh lý " + lanthanhly.LanThanhLy.ToString() + " không nhận dữ liệu về được?\nBạn có muốn đưa vào hàng đợi không";
                            else
                                message = "Lần thanh lý " + lanthanhly.LanThanhLy.ToString() + " không nhận dữ liệu về được?\nBạn có muốn đưa vào hàng đợi và \ntiếp tục nhận dữ liệu của các bản ghi tiếp không";
                            string st = ShowMessage(message, true);
                            if (st != "Yes")
                                break;
                            else
                            {
                                if (k < items.Count)
                                    ok = true;
                                else
                                    ok = false;
                                Company.BLL.KDT.HangDoi hd = new Company.BLL.KDT.HangDoi();
                                hd.LoaiToKhai = LoaiToKhai.HO_SO_THANH_KHOAN;
                                hd.TrangThai = TrangThaiXuLy.DA_DUYET;
                                hd.ChucNang = ChucNang.DONG_BO_DU_LIEU;
                                hd.LanThanhLy = lanthanhly.LanThanhLy;
                                hd.MaHaiQuan = donViHaiQuanControl1.Ma;
                                MainForm.AddToQueueForm(hd);
                                MainForm.ShowQueueForm();
                            }
                        }
                    }
               }
               this.Cursor = Cursors.Default;
               if (ok)
                   ShowMessage("Nhận dữ liệu thành công! ", false);
               this.btnSearch_Click(null,null);
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
                this.ShowMessage("Có lỗi: " + ex.Message, false);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }

        private void TheoDoiHoSoThanhLyForm_Load(object sender, EventArgs e)
        {
            btnSearch_Click(null, null);
        }

    }
}